Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

babel-plugin-lodash-modularize

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-plugin-lodash-modularize

Babel plugin that replaces lodash library import statement to individual module imports.

  • 0.3.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

babel-plugin-lodash-modularize

NPM version Travis build status js-canonical-style

Babel plugin that replaces lodash library import statement to individual module imports.

Using individual module imports excludes the unused lodash code from the final bundle when using module bundlers such as webpack or Browserify.

Chaining

Note that use of chaining defeats most of the benefits of this plugin. There is no way to modularly import chaining dependencies. As a result, use of chaining will import all of the lodash modules that can work with chaining.

Example

Converts:

import _ from 'lodash';

_.map();

To:

import map from 'lodash/collection/map';

map();

Usage

Add to .babelrc:

{
    "plugins": [
        [
            "lodash-modularize",
            {
                "lodashVersion": "4.0.0"
            }
        ]
    ]
}

lodashVersion option defines the version of the lodash that you are using. It is used to resolve the correct path of the individual modules.

Difference from babel-plugin-lodash

babel-plugin-lodash attempts to resolve lodash module associated with the target script. The assumptions that babel-plugin-lodash makes about the node_modules path depend on the NPM version and the execution context. babel-plugin-lodash-modularize is using a hard-coded map to construct the module import path (see discussion).

babel-plugin-lodash supports lodash-fp (babel-plugin-lodash-modularize does not).

babel-plugin-lodash-modularize can be used against a code base that does not use lodash at all, i.e. babel-plugin-lodash-modularize can become part of a greater Babel preset.

In contrast to babel-plugin-lodash, babel-plugin-lodash-modularize does not restrict use of chaining. Beware of the side effects.

Development

Use npm run module-map to generate a new module map. The new module map is generated against the lodash version installed as a dependency of the babel-plugin-lodash-modularize plugin.

This approach will need to change when a new version of lodash comes out that does no longer use the same directory structure. lodashVersion plugin option is used as a form of defensive design to ensure that when such change happens we do not introduce a backwards incompatible change.

Keywords

FAQs

Package last updated on 19 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc